[DNM] feat(test_operator): add parallel_group support for concurrent tempest stages#3967
Conversation
…t stages Add native parallel_group support to the test_operator Ansible role, enabling multiple Tempest CRs to execute simultaneously by leveraging the existing spec.parallel field in the test-operator CRD. Stages sharing the same parallel_group name are collected, built as individual Tempest CRs with spec.parallel: true, and applied concurrently. The first CR is applied ahead with a configurable wait (cifmw_test_operator_parallel_resource_wait) to allow discover-tempest-config --create to provision shared OpenStack resources before subsequent CRs start. Stages without parallel_group continue to execute sequentially, preserving full backward compatibility. After all parallel pods complete, logs are collected from each CR's PVCs via temporary pods, and all parallel resources are cleaned up automatically. Signed-off-by: Vito Castellano <vcastell@redhat.com>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Build failed (check pipeline). Post ✔️ openstack-k8s-operators-content-provider SUCCESS in 2h 13m 50s |
🚨 POC - DNM - WIP 🚨
Add native parallel_group support to the test_operator Ansible role, enabling multiple Tempest CRs to execute simultaneously on the Kubernetes cluster. This leverages the existing spec.parallel: true field in the test-operator CRD, which was previously unused by ci-framework.
Stages sharing the same parallel_group name in cifmw_test_operator_stages are automatically collected, built as individual Tempest CRs with spec.parallel: true, and applied concurrently. The first CR is applied ahead of the others with a configurable wait (cifmw_test_operator_parallel_resource_wait) to allow discover-tempest-config --create to provision shared OpenStack resources (flavors, images, users, projects) before subsequent CRs start.
Stages without parallel_group continue to execute sequentially, preserving full backward compatibility.